API参考

CadQuery API 由 4 个主要对象组成:

  • 草图– 构建 2D 草图

  • 工作平面– 包装拓扑实体并提供 2D 建模上下文。

  • 选择器– 过滤和选择事物

  • 装配——将对象组合成装配体。

本页列出了按功能区域分组的这些对象的方法
也可以看看
此页面列出了按功能区域分组的 API 方法。使用CadQuery 类摘要按类的字母顺序查看方法。

草图初始化

创建新草图。

Sketch(父级,位置)2D 草图。
Sketch.importDXF(文件名[, tol, 排除, ...])导入 DXF 文件并构造面
Workplane.sketch()初始化并返回草图
Sketch.finalize()完成草图构建并返回父级。
Sketch.copy()创建草图的部分副本。
Sketch.located(位置)使用新位置创建草图的部分副本。
Sketch.moved(位置)使用移动的_faces 创建草图的部分副本。

草图选择

选择、标记和操作元素。

Sketch.tag(标签)标记当前选择。
Sketch.select(*标签)根据标签进行选择。
Sketch.reset()重置当前选择。
Sketch.delete()删除选定的对象。
Sketch.faces([s,标签])选择面孔。
Sketch.edges([s,标签])选择边缘。
Sketch.vertices([s,标签])选择顶点。

素描人脸

使用基于面部的 API 绘制草图。

Sketch.face(b[,角度,模式,标签,...])从线或边构造一个面。
Sketch.rect(w, h[, 角度, 模式, 标签])构建一个矩形面。
Sketch.circle(r[, 模式, 标签])构造一个圆形面。
Sketch.ellipse(a1, a2[,角度,模式,标签])构造一个椭圆形脸。
Sketch.trapezoid(w, h, a1[, a2, 角度, ...])构造一个梯形面。
Sketch.slot(w, h[, 角度, 模式, 标签])构造一个槽形面。
Sketch.regularPolygon(r, n[, 角度, 模式, 标签])构造一个正多边形面。
Sketch.polygon(pts[,角度,模式,标签])构造一个多边形面。
Sketch.rarray(xs、ys、nx、ny)生成位置的矩形阵列。
Sketch.parray(r, a1, da, n[, 旋转])生成位置的极坐标数组。
Sketch.distribute(n[,开始,停止,旋转])沿选定的边或线分布位置。
Sketch.each(回调[,模式,标签,...])对所有适用的实体应用回调。
Sketch.push(位置[,标签])将当前选择设置为给定位置或点。
Sketch.hull([模式、标签])从当前选择或所有对象生成凸包。
Sketch.offset(d[, 模式, 标签])偏移选定的线或边。
Sketch.fillet(四)根据当前选择添加圆角。
Sketch.chamfer(四)根据当前选择添加倒角。
Sketch.clean()拆下内部电线。

带边缘和约束的草图

使用基于边缘的 API 绘制草图。

Sketch.edge(val[, 标签, forConstruction])向草图添加一条边。
Sketch.segment(...)构造一个段。
Sketch.arc(...)构造一个圆弧。
Sketch.spline(...)构造样条边。
Sketch.close([标签])将最后一条边连接到第一条边。
Sketch.assemble([模式、标签])将边缘组装成面。
Sketch.constrain(...)添加约束。
Sketch.solve()解决当前约束并更新边缘位置。

初始化

创建新的工作平面和对象链

Workplane(, obj=无))定义空间坐标系,其中可以使用二维坐标。

二维操作

创建可用于创建 3D 特征的 2D 构造。
所有 2D 操作都需要创建工作平面对象。

Workplane.center(x,y)将局部坐标移动到指定位置。
Workplane.lineTo(x, y[, 用于构造])从当前点到提供的点画一条线
Workplane.line(xDist, yDist[, forConstruction])使用相对于当前点的尺寸从当前点到提供的点绘制一条线
Workplane.vLine(距离[,用于建筑])从当前点指定距离绘制一条垂直线
Workplane.vLineTo(y坐标[, forConstruction])从当前点到提供的 y 坐标绘制一条垂直线。
Workplane.hLine(距离[,用于建筑])从当前点指定距离绘制一条水平线
Workplane.hLineTo(xCoord[, forConstruction])从当前点到提供的 x 坐标绘制一条水平线。
Workplane.polarLine(距离、角度[、...])以给定角度从当前点绘制一条给定长度的线
Workplane.polarLineTo(距离、角度[、...])从当前点到给定的极坐标绘制一条线
Workplane.moveTo([x,y])移动到指定点,不绘图。
Workplane.move([xDist, yDist])从当前点移动指定的距离,而不进行绘制。
Workplane.spline(listOfXYTuple[, 切线, ...])创建通过提供的点(2D 或 3D)插值的样条线。
Workplane.parametricCurve(func[, N, 开始, ...])创建近似所提供函数的样条曲线。
Workplane.parametricSurface(函数[, N, ...])创建一个逼近所提供函数的样条曲面。
Workplane.threePointArc(点 1, 点 2[, ...])从当前点绘制一条弧线,经过 point1,结束于 point2
Workplane.sagittaArc(端点,下垂[,...])使用由弧矢 (sagitta) 定义的弧线从当前点到 endPoint 绘制一条弧线。
Workplane.radiusArc(端点,半径[,...])以半径定义的圆弧从当前点到 endPoint 绘制一条圆弧。
Workplane.tangentArcPoint(端点[,...])从当前边的末端到端点绘制一条圆弧作为切线。
Workplane.mirrorY()围绕工作平面的 y 轴镜像实体。
Workplane.mirrorX()围绕工作平面的 x 轴镜像实体。
Workplane.wire([用于建筑业])返回一个 CQ 对象,其中所有待处理的边都连接到一条线中。
Workplane.rect(xLen, yLen[, 居中, ...])为堆栈上的每个项目创建一个矩形。
Workplane.circle(半径[,用于建筑])为堆栈上的每个项目画一个圆圈。
Workplane.ellipse(x_半径, y_半径[, ...])为堆栈上的每个项目制作一个椭圆。
Workplane.ellipseArc(x_半径, y_半径[, ...])绘制一条以 x 和 y 为半径的椭圆弧,起点位于当前点,或者当前点为圆弧中心
Workplane.polyline(listOfXYTuple[, ...])从点列表创建折线
Workplane.close()结束施工,并尝试构建闭合线。
Workplane.rarray(x 间距、y 间距、x 计数、...)创建一个点数组并将它们压入堆栈。
Workplane.polarArray(半径、起始角度、...)创建点的极坐标数组并将它们推入堆栈。
Workplane.slot2D(长度、直径[、角度])为堆栈上的每个点创建一个圆形槽。
Workplane.offset2D(d[, kind, forConstruction])创建 2D 偏移线。
Workplane.placeSketch(*草图)根据堆栈上的当前项目放置提供的草图。

3D操作

某些 3D 操作还需要活动的 2D 工作平面,但有些则不需要。
需要激活 2D 工作平面的 3D 操作:

Workplane.cboreHole(直径、孔径、...)为堆叠中的每个项目打一个沉头孔。
Workplane.cskHole(直径,csk直径,...)为堆叠中的每个项目打一个埋头孔。
Workplane.hole(直径[,深度,清洁度])为堆栈上的每个项目打一个洞。
Workplane.extrude(直到[、合并、清理、...])使用父链中所有未拉伸的线来创建棱柱实体。
Workplane.cut(toCut[, clean, tol])从当前实体中剪切提供的实体,IE,执行实体减法。
Workplane.cutBlind(直到[,干净,两者,逐渐变细])使用父链中所有未拉伸的线从现有实体创建棱柱形切割。
Workplane.cutThruAll([干净,锥度])使用父链中所有未拉伸的线从现有实体创建棱柱形切割。
Workplane.box(长宽高[, ...])为堆栈上的每个对象返回具有指定尺寸的 3d 框。
Workplane.sphere(半径[,直接,角度1,...])返回堆栈上每个点具有指定半径的 3D 球体。
Workplane.wedge(dx、dy、dz、xmin、zmin、...)返回堆栈上每个点具有指定尺寸的 3D 楔形。
Workplane.cylinder(高度,半径[,直接,...])返回堆栈上每个点具有指定半径和高度的圆柱体
Workplane.union([toUnion、clean、glue、tol])将 toUnion 堆栈上的所有项目与当前实体合并。
Workplane.combine([清洁、胶水、tol])尝试将堆栈上的所有项目组合成一个项目。
Workplane.intersect(toIntersect[, clean, tol])与当前实体相交提供的实体。
Workplane.loft([规则、合并、清洁])通过一组电线制作一个放样实体。
Workplane.sweep(路径[,多节,...])使用父链中所有未拉伸的线来创建扫掠实体。
Workplane.twistExtrude(距离、角度)沿垂直于平面的方向拉伸线,但也会在拉伸长度上扭转指定的角度。
Workplane.revolve([角度度,轴开始,...])使用父链中所有未旋转的线来创建实体。
Workplane.text(txt, 字体大小, 距离[, ...])返回 3D 文本。

不需要激活 2D 工作平面的 3D 操作:

Workplane.shell(厚度[,种类])删除选定的面以创建指定厚度的壳。
Workplane.fillet(半径)在选定的边上对实体进行圆角处理。
Workplane.chamfer(长度[,长度2])在选定边上对实体进行倒角。
Workplane.split()将堆栈上的实体分成两部分,可以选择保留单独的部分。
Workplane.rotate(轴起点,...)返回堆栈上所有旋转过且绕旋转轴的角度的项目的副本。
Workplane.rotateAboutCenter(轴端点,...)围绕指定轴将堆栈上的所有项目旋转指定角度
Workplane.translate(矢量)返回堆栈上由指定平移向量移动的所有项目的副本。
Workplane.mirror([镜面, ...])镜像单个 CQ 对象。

文件管理和导出

 

Workplane.toSvg([选择])返回表示堆栈中第一项的 svg 文本。
Workplane.exportSvg(文件名)将堆栈中的第一项导出为 SVG 文件
importers.importStep(文件名)接受文件名并将 STEP 文件加载到 cadquery 工作平面中
importers.importDXF(文件名[, tol, ...])将 DXF 文件加载到工作平面中。
exporters.export(w, fname[, 导出类型, ...])将工作平面或形状导出到文件。
occ_impl.exporters.dxf.DxfDocument([...])从 CadQuery 对象创建 DXF 文档。

迭代方法

允许对堆栈或对象进行迭代的方法

Workplane.each(打回来[, ...])对堆栈中的每个值运行提供的函数,并将返回值收集到新的 CQ 对象中。
Workplane.eachpoint(打回来[, ...])与each()相同,只不过堆栈上的每个项目在传递给回调函数之前都会转换为一个点。

堆栈和选择器方法

在堆栈上操作的 CadQuery 方法

Workplane.all()返回堆栈上所有 CQ 对象的列表。
Workplane.size()返回当前堆栈上的对象数量
Workplane.vals()获取当前列表中的值
Workplane.add()将一个对象或对象列表添加到堆栈中
Workplane.val()返回堆栈中的第一个值。
Workplane.first()返回堆栈中的第一项
Workplane.item(我)返回堆栈中的第 i 个项目。
Workplane.last()返回堆栈中的最后一项。
Workplane.end([n])返回此 CQ 元素的第 n 个父元素
Workplane.vertices([选择器、标签])选择堆栈上对象的顶点,可以选择过滤选择。
Workplane.faces([选择器、标签])选择堆栈上对象的面,可以选择过滤选择。
Workplane.edges([选择器、标签])选择堆栈上对象的边缘,可以选择过滤选择。
Workplane.wires([选择器、标签])选择堆栈上的对象线,可以选择过滤选择。
Workplane.solids([选择器、标签])选择堆栈上对象的实体,可以选择过滤选择。
Workplane.shells([选择器、标签])选择堆栈上对象的外壳,可以选择过滤选择。
Workplane.compounds([选择器、标签])选择堆栈上的化合物,可以选择过滤选择。

选择器

过滤和选择 CAD 对象的对象。选择器用于选择现有几何图形作为进一步操作的基础。

NearestToPointSelector(点)选择距离所提供的点最近的对象。
BoxSelector(point0, point1[, 边界框])选择由 2 个点定义的 3D 框内的对象。
BaseDirSelector(向量[,容差])基于单个方向向量处理选择的选择器。
ParallelDirSelector(向量[,容差])选择与提供的方向平行的对象。
DirectionSelector(向量[,容差])选择与提供的方向对齐的对象。
DirectionNthSelector(向量,n[,...])过滤与指定方向平行(或垂直)的对象,然后返回第 N 个。
LengthNthSelector(n[,最大方向,公差])选择长度为第 N 个的对象
AreaNthSelector(n[,最大方向,公差])选择第 N 个区域的对象
RadiusNthSelector(n[,最大方向,公差])选择半径为 N 的对象。
PerpendicularDirSelector(向量[,容差])选择与提供的方向垂直的对象。
TypeSelector(字符串类型)选择具有指定几何类型的对象。
DirectionMinMaxSelector(矢量[,...])选择指定方向上最近或最远的对象。
CenterNthSelector(向量,n[,directionMax,...])将对象排序到列表中,顺序由对象中心投影到指定方向的距离决定。
BinarySelector(左右)与另外两个选择器一起操作的选择器的基类。
AndSelector(左右)交叉点选择器。
SumSelector(左右)联合选择器。
SubtractSelector(左右)差异选择器。
InverseSelector(选择器)反转给定选择器的选择。
StringSyntaxSelector(选择器字符串)过滤器使用简单的字符串语法列出对象。

组件

工作平面和形状对象可以连接在一起形成组件

Assembly([对象、位置、名称、颜色、元数据])工作平面和形状对象的嵌套组件定义了它们的相对位置。
Assembly.add()将子装配体添加到当前装配体中。
Assembly.save(路径[,导出类型,模式,...])将程序集保存到文件。
Assembly.constrain()定义一个新的约束。
Assembly.solve([冗长])解决约束条件。
Constraint的别名ConstraintSpec
Color()OCCT 颜色对象 Quantity_ColorRGBA 的包装。
作者:码峰  创建时间:2023-12-20 17:53
最后编辑:码峰  更新时间:2024-01-12 17:58